package com.ruoyi.utils.ID;

/**
 * 公共ID接口类
 * 自动生成编号接口
 * @author lsy 2021.10.25
 */
public interface IdUtil {
    /**
     * 生成最新的一条事件编号
     * @return
     */
    String createEventId();

    /**
     * 生成最新的一条费用分摊编号
     * @return
     */
    String createCostApportionmentId();

    /**
     * 生成最新的一条跟进记录编号
     * @return
     */
    String createFollowId();

    /**
     * 生成最新销售订单编号
     * @return
     */
    String createSaleOrderId(String saleOrderType);

    /**
     * 生成最新销售出库编号
     * @return
     */
    String createSaleDeliveryId();

    /**
     * 生成最新销售收款编号
     * @return
     */
    String createCollectionId();

    /**
     * 生成最新销售退货编号
     * @return
     */
    String createSaleReturnId();

    /**
     * 生成最新采购申请编号
     * @return
     */
    String createPurchaseApplyId();

    /**
     * 生成最新采购订单编号
     * @return
     */
    String createPurchaseOrderId();

    /**
     * 生成最新采购付款编号
     * @return
     */
    String createPurchasePayId();

    /**
     * 生成最新采购退货编号
     * @return
     */
    String createPurchaseReturnId();

    /**
     * 生成最新采购入库编号
     * @return
     */
    public String createPurchaseStorageId();

    /**
     * 生成最新仓库盘点编号
     * @return
     */
    public String createInventoryCheckId();

    /**
     * 生成最新其他入库编号
     * @return
     */
    public String createInventoryInId();

    /**
     * 生成最新其他出库编号
     * @return
     */
    public String createInventoryOutId();

    /**
     * 生成最新库存调拨编号
     * @return
     */
    public String createInventoryTransferId();

    /**
     * 生成最新自产生产计划编号
     * @return
     */
    String createProducePlanSelfId();

    /**
     * 生成最新的一条加工单编号
     * @return
     */
    String createWorkSheetId();

    /**
     * 生成最新生产验收入库编号
     * @return
     */
    String createReceivingReportId();

    /**
     * 生成最新的一条委外生产计划编号
     * @return
     */
    String createPlanOutsourceId();

    /**
     * 生成最新生产报价编号
     * @return
     */
    String createProduceOfferId();

    /**
     * 生成最新物料领、补、退编号
     * @return
     */
    public String createMaterialRequisitionId(String materialRequisitionType);

    /**
     * 生成最新客户报价编号
     * @return
     */
    String createCustomerQuotaId();

    /**
     * 生成最新供应商报价编号
     * @return
     */
    String createSupplierQuotaId();

    /**
     * 生成最新请假单据
     * @return
     */
    String createLeaveId();

    /**
     * 生成最新入库编号
     * @return
     */
    String createStockInId();

    /**
     * 生成最新出库编号
     * @return
     */
    String createStockOutId();

    /**
     * 生成最新出库编号
     * @return
     */
    String createInspectReportId();

    /**
     * 获取最新的一条成本结算编号
     * @return
     */
    String createCostAccountingId();

    /**
     * 获取最新的一条文件编号
     * @return
     */
    String createFileId();
}
